home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / libs / tsipp / tsipp.lha / tsipp3.0a / tests / shader.test < prev    next >
Encoding:
Text File  |  1992-11-02  |  9.5 KB  |  352 lines

  1. #==============================================================================
  2. #                                shader.test
  3. #------------------------------------------------------------------------------
  4. # Test of the Tcl SIPP shader commands.
  5. #------------------------------------------------------------------------------
  6. # Copyright 1992 Mark Diekhans
  7. # Permission to use, copy, modify, and distribute this software and its
  8. # documentation for any purpose and without fee is hereby granted, provided
  9. # that the above copyright notice appear in all copies.  Mark Diekhans makes
  10. # no representations about the suitability of this software for any purpose.
  11. # It is provided "as is" without express or implied warranty.
  12. #------------------------------------------------------------------------------
  13. # $Id: shader.test,v 2.0 1992/11/02 03:56:03 markd Rel $
  14. #==============================================================================
  15.  
  16. if {[info procs test] == ""} {source testprocs.tcl}
  17.  
  18. #
  19. # Test SippShaderBasic command.
  20. #
  21.  
  22. test {shader-1.1} {
  23.     SippShaderBasic 
  24. } 1 {wrong # args: SippShaderBasic ambient specular c3 color [opacity]}
  25.  
  26. test {shader-1.2} {
  27.     SippShaderBasic .5 .8 .2 {1.2 .5 .8}
  28. } 1 {Expected a number in the range 0..1, got: 1.2}
  29.  
  30. test {shader-1.3} {
  31.     SippShaderBasic .5 1.3 .2 {.2 .5 .8}
  32. } 1 {Expected a number in the range 0..1, got: 1.3}
  33.  
  34. test {shader-1.4} {
  35.     SippShaderBasic .5 .3 .2 {.2 .5 .8} {1.0 .9}
  36. } 1 {opacity must be a single number or a list of three elements}
  37.  
  38. test {shader-1.5} {
  39.     SippShaderBasic .5 .3 .2 {.2 .5 .8} {1.0 .9 2.1}
  40. } 1 {Expected a number in the range 0..1, got: 2.1}
  41.  
  42. test {shader-1.6} {
  43.     SippShaderBasic .5 .3 .2 {.2 .5 .8} {1.0 .9 x}
  44. } 1 {expected floating-point number but got "x"}
  45.  
  46. test {shader-1.7} {
  47.     catch {unset shader1}
  48.     set shader1 [SippShaderBasic .5 .8 .2 {.2 .5 .8}]
  49.     SippShaderDelete $shader1
  50.     crange $shader1 0 5
  51. } 0 {shader}
  52.  
  53. test {shader-1.8} {
  54.     catch {unset shader1}
  55.     set shader1 [SippShaderBasic .5 .8 .2 {.2 .5 .8} {.1 .9 0}]
  56.     SippShaderDelete $shader1
  57.     crange $shader1 0 5
  58. } 0 {shader}
  59.  
  60. test {shader-1.9} {
  61.     catch {unset shader1}
  62.     set shader1 [SippShaderBasic .5 .8 .2 {.2 .5 .8} .1]
  63.     SippShaderDelete $shader1
  64.     crange $shader1 0 5
  65. } 0 {shader}
  66.  
  67. #
  68. # Test SippShaderPhong command.
  69. #
  70.  
  71. test {shader-2.1} {
  72.     SippShaderPhong 
  73. } 1 {wrong # args: SippShaderPhong ambient diffuse specular spec_exp color [opacity]}
  74.  
  75. test {shader-2.2} {
  76.     SippShaderPhong .5 .1 .2 40 {1.2 .5 .8}
  77. } 1 {Expected a number in the range 0..1, got: 1.2}
  78.  
  79. test {shader-2.3} {
  80.     SippShaderPhong .5 1.3 .2 .2 40 {.2 .5 .8}
  81. } 1 {Expected a number in the range 0..1, got: 1.3}
  82.  
  83. test {shader-2.4} {
  84.     SippShaderPhong .5 .3 .2 40.1 {.2 .5 .8}
  85. } 1 {expected integer but got "40.1"}
  86.  
  87. #
  88. # Test SippShaderStrauss command.
  89. #
  90.  
  91. test {shader-3.1} {
  92.     SippShaderStrauss {1.2 .5 .8}
  93. } 1 {wrong # args: SippShaderStrauss ambient smoothness metalness color [opacity]}
  94.  
  95. test {shader-3.2} {
  96.     SippShaderStrauss .5 .8 .2 {1.2 .5 .8}
  97. } 1 {Expected a number in the range 0..1, got: 1.2}
  98.  
  99. test {shader-3.3} {
  100.     SippShaderStrauss .5 1.7 .2 {.2 .5 .8}
  101. } 1 {Expected a number in the range 0..1, got: 1.7}
  102.  
  103. test {shader-3.4} {
  104.     catch {unset shader1}
  105.     set shader1 [SippShaderStrauss .5 .8 .2 {.2 .5 .8}]
  106.     SippShaderDelete $shader1
  107.     crange $shader1 0 5
  108. } 0 {shader}
  109.  
  110. test {shader-3.5} {
  111.     catch {unset shader1}
  112.     set shader1 [SippShaderStrauss .5 .8 .2 {.2 .5 .8} {.1 .9 0}]
  113.     SippShaderDelete $shader1
  114.     crange $shader1 0 5
  115. } 0 {shader}
  116.  
  117. test {shader-3.6} {
  118.     catch {unset shader1}
  119.     set shader1 [SippShaderStrauss .5 .8 .2 {.2 .5 .8} .1]
  120.     SippShaderDelete $shader1
  121.     crange $shader1 0 5
  122. } 0 {shader}
  123.  
  124. #
  125. # Test SippShaderWood command.
  126. #
  127. test {shader-4.1} {
  128.     SippShaderWood {1.2 .5 .8}
  129. } 1 {wrong # args: SippShaderWood ambient specular c3 scale basecolor ringcolor [opacity]}
  130.  
  131. test {shader-4.2} {
  132.     SippShaderWood .5 .8 .2 3 {1.2 .5 .8} {.2 .9 .8}
  133. } 1 {Expected a number in the range 0..1, got: 1.2}
  134.  
  135. test {shader-4.3} {
  136.     SippShaderWood .5 .8 1.2 3 {.2 .5 .8} {.2 .9 .8}
  137. } 1 {Expected a number in the range 0..1, got: 1.2}
  138.  
  139. test {shader-4.4} {
  140.     catch {unset shader1}
  141.     set shader1 [SippShaderWood .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8}]
  142.     SippShaderDelete $shader1
  143.     crange $shader1 0 5
  144. } 0 {shader}
  145.  
  146. test {shader-4.5} {
  147.     catch {unset shader1}
  148.     set shader1 [SippShaderWood .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8} {.1 .9 0}]
  149.     SippShaderDelete $shader1
  150.     crange $shader1 0 5
  151. } 0 {shader}
  152.  
  153. test {shader-4.6} {
  154.     catch {unset shader1}
  155.     set shader1 [SippShaderWood .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8} .1]
  156.     SippShaderDelete $shader1
  157.     crange $shader1 0 5
  158. } 0 {shader}
  159.  
  160. #
  161. # Test SippShaderMarble command.
  162. #
  163.  
  164. test {shader-5.1} {
  165.     SippShaderMarble {1.2 .5 .8}
  166. } 1 {wrong # args: SippShaderMarble ambient specular c3 scale basecolor stripcolor [opacity]}
  167.  
  168. test {shader-5.2} {
  169.     SippShaderMarble .5 .8 .2 3 {1.2 .5 .8} {.2 .9 .8}
  170. } 1 {Expected a number in the range 0..1, got: 1.2}
  171.  
  172. test {shader-5.3} {
  173.     SippShaderMarble .5 1.8 .2 3 {.2 .5 .8} {.2 .9 .8}
  174. } 1 {Expected a number in the range 0..1, got: 1.8}
  175.  
  176. test {shader-5.4} {
  177.     catch {unset shader1}
  178.     set shader1 [SippShaderMarble .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8}]
  179.     SippShaderDelete $shader1
  180.     crange $shader1 0 5
  181. } 0 {shader}
  182.  
  183. test {shader-5.5} {
  184.     catch {unset shader1}
  185.     set shader1 [SippShaderMarble .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8} {.1 .9 0}]
  186.     SippShaderDelete $shader1
  187.     crange $shader1 0 5
  188. } 0 {shader}
  189.  
  190. test {shader-5.6} {
  191.     catch {unset shader1}
  192.     set shader1 [SippShaderMarble .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8} .1]
  193.     SippShaderDelete $shader1
  194.     crange $shader1 0 5
  195. } 0 {shader}
  196.  
  197. #
  198. # Test SippShaderGranite command.
  199. #
  200. test {shader-6.1} {
  201.     SippShaderGranite {1.2 .5 .8}
  202. } 1 {wrong # args: SippShaderGranite ambient specular c3 scale color1 color2 [opacity]}
  203.  
  204. test {shader-6.2} {
  205.     SippShaderGranite .5 .8 .2 3 {1.2 .5 .8} {.2 .9 .8}
  206. } 1 {Expected a number in the range 0..1, got: 1.2}
  207.  
  208. test {shader-6.3} {
  209.     SippShaderGranite .5 1.8 .2 3 {.2 .5 .8} {.2 .9 .8}
  210. } 1 {Expected a number in the range 0..1, got: 1.8}
  211.  
  212. test {shader-6.4} {
  213.     catch {unset shader1}
  214.     set shader1 [SippShaderGranite .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8}]
  215.     SippShaderDelete $shader1
  216.     crange $shader1 0 5
  217. } 0 {shader}
  218.  
  219. test {shader-6.5} {
  220.     catch {unset shader1}
  221.     set shader1 [SippShaderGranite .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8} {.1 .9 0}]
  222.     SippShaderDelete $shader1
  223.     crange $shader1 0 5
  224. } 0 {shader}
  225.  
  226. test {shader-6.6} {
  227.     catch {unset shader1}
  228.     set shader1 [SippShaderGranite .5 .8 .2 3 {.2 .5 .8} {.2 .9 .8} .1]
  229.     SippShaderDelete $shader1
  230.     crange $shader1 0 5
  231. } 0 {shader}
  232.  
  233. #
  234. # Test SippShaderBozo command.
  235. #
  236. test {shader-7.1} {
  237.     SippShaderBozo {{1.2 .5 .8} {2.2 .5 .8}}
  238. } 1 {wrong # args: SippShaderBozo colorlist ambient specular c3 scale [opacity]}
  239.  
  240. test {shader-7.2} {
  241.     SippShaderBozo {{1.2 .5 .8} {2.2 .5 .8} {3.2 .5 .8}} .5 .8 .2 2
  242. } 1 {Expected a number in the range 0..1, got: 1.2}
  243.  
  244. test {shader-7.3} {
  245.     SippShaderBozo {{.2 .5 .8} {.2 .5 .8} {.2 .5 .8}} .5 1.8 .2 2
  246. } 1 {Expected a number in the range 0..1, got: 1.8}
  247.  
  248. test {shader-7.4} {
  249.     catch {unset shader1}
  250.     set shader1 [SippShaderBozo {{.2 .5 .8} {.2 .5 .8} {.2 .5 .8}} .5 .8 .2 2]
  251.     SippShaderDelete $shader1
  252.     crange $shader1 0 5
  253. } 0 {shader}
  254.  
  255. #
  256. # Test SippShaderBumpy command.
  257. #
  258. test {shader-8.1} {
  259.     SippShaderBumpy foo
  260. } 1 {wrong # args: SippShaderBumpy shaderhandle scale [BUMPS] [HOLES]}
  261.  
  262. test {shader-8.2} {
  263.     SippShaderBumpy foo 1 BUMPS HOLES
  264. } 1 {invalid shader handle: foo}
  265.  
  266. test {shader-8.3} {
  267.     catch {unset shader1}
  268.     set shader1 [SippShaderBasic .5 .8 .2 {.2 .5 .8}]
  269.     SippShaderBumpy $shader1 1 FOO HOLES
  270. } 1 {expected one of `BUMPS' or `HOLES', got `FOO'}
  271.  
  272. test {shader-8.4} {
  273.     SippShaderBumpy $shader1 1 HOLESXXX
  274. } 1 {expected one of `BUMPS' or `HOLES', got `HOLESXXX'}
  275.  
  276. test {shader-8.5} {
  277.     SippShaderBumpy $shader1 a
  278. } 1 {expected floating-point number but got "a"}
  279.  
  280. test {shader-8.6} {
  281.     set shader2 [SippShaderBasic .5 .8 .2 {.2 .5 .8}]
  282.     catch {unset shader1}
  283.     set shader1 [SippShaderBumpy $shader2 1 BUMPS HOLES]
  284.     SippShaderDelete $shader1
  285.     crange $shader1 0 5
  286. } 0 {shader}
  287.  
  288. test {shader-8.7} {
  289.     catch {unset shader1}
  290.     set shader1 [SippShaderBumpy $shader2 1 HOLES BUMPS]
  291.     SippShaderDelete $shader1
  292.     crange $shader1 0 5
  293. } 0 {shader}
  294.  
  295. test {shader-8.8} {
  296.     catch {unset shader1}
  297.     set shader1 [SippShaderBumpy $shader2 1 HOLES]
  298.     SippShaderDelete $shader1
  299.     crange $shader1 0 5
  300. } 0 {shader}
  301.  
  302. test {shader-8.9} {
  303.     catch {unset shader1}
  304.     set shader1 [SippShaderBumpy $shader2 1]
  305.     SippShaderDelete $shader1
  306.     crange $shader1 0 5
  307. } 0 {shader}
  308.  
  309. #
  310. # Test SippShaderPlanet command.
  311. #
  312. test {shader-10.1} {
  313.     SippShaderPlanet .2
  314. } 1 {wrong # args: SippShaderPlanet ambient specular c3 [opacity]}
  315.  
  316. test {shader-10.2} {
  317.     SippShaderPlanet .2 .1 .3 {1 1 1} foo
  318. } 1 {wrong # args: SippShaderPlanet ambient specular c3 [opacity]}
  319.  
  320. test {shader-10.3} {
  321.     SippShaderPlanet .2 .1 .3 {1 x 1}
  322. } 1 {expected floating-point number but got "x"}
  323.  
  324. test {shader-10.4} {
  325.     SippShaderPlanet 1.2 .1 .3
  326. } 1 {Expected a number in the range 0..1, got: 1.2}
  327.  
  328. test {shader-10.5} {
  329.     catch {unset shader1}
  330.     set shader1 [SippShaderPlanet .2 .1 .3]
  331.     SippShaderDelete $shader1
  332.     crange $shader1 0 5
  333. } 0 {shader}
  334.  
  335. #
  336. # Test SippShaderDelete command.
  337. #
  338. test {shader-11.1} {
  339.     SippShaderDelete
  340. } 1 {wrong # args: SippShaderDelete shaderlist}
  341.  
  342. test {shader-11.2} {
  343.     SippShaderDelete foo
  344. } 1 {invalid shader handle: foo}
  345.  
  346. test {shader-11.3} {
  347.     set shader1 [SippShaderBasic .5 .8 .2 {.2 .5 .8}]
  348.     set shader3 [SippShaderBasic .5 .1 .2 {.2 .5 .8}]
  349.     SippShaderDelete [list $shader1 $shader2 $shader3]
  350. } 0 {}
  351.  
  352.